(1) Field
The disclosed methods and systems relate generally to prioritized network traffic, and more particularly to transmitting prioritized data packets having varying latency requirements over a fixed connection.
(2) Description of Relevant Art
Modern network tasks can be organized into functional layers according to a network standard defined by the International Standards Organization (ISO). In general, each layer is responsible for providing some service to the layer above it, and may use the services of the layers below it. The International Standards Organization defined seven layers as a standard for communication networks and devices. This standard 102 is depicted in FIG. 1. The function of the layers can generally be known as:
(1) A physical layer, which is responsible for transmitting unstructured bits of information across a link;
(2) A data link layer, which transmits structured bits of information across a link;
(3) A network layer, which is responsible for ensuring that a pair of systems in the network can communicate with each other;
(4) A transport layer, which establishes a reliable communications stream between a pair of systems;
(5) A session layer, which offers services above the reliable communication stream provided by the transport layer;
(6) A presentation layer, which is responsible for providing a means by which applications can agree on representations of data; and,
(7) An application layer, which runs or executes applications.
Various protocols currently exist to provide the layered functionality of the ISO standard. Two protocols that are widely used for Internet communication are Transmission Control Protocol (TCP) and Internet Protocol (IP), depicted as layer 4 and layer 3 protocols, respectively, in the protocol hierarchy 104 shown in FIG. 1. In TCP/IP, Transmission Control Protocol (TCP) tracks individual units of data provided by the layers above it, while Internet Protocol (IP) delivers the data. As used herein, the term data refers generally to bits (i.e., binary digits) representative of information such as audio, video, text, and/or other types of information that can be represented in binary format.
IP can be understood to be a connection-less protocol in that packet forwarding decisions are decided at intermediate nodes between the source and destination nodes (e.g., on a “per-hop” basis) and, thus, associated packets may not traverse the same path to reach a destination. As such, IP cannot be guaranteed to provide a given delivery and/or bit rate, known as quality of service requirements. Further, although IP has some limited quality of service management capabilities, these capabilities can be subject to unpredictable congestion and/or variable network conditions that affect a connection-less protocol. An option for improving delivery of data, and in particular data having specific quality of service requirements, can be accomplished by employing an integrated services protocol, such as Asynchronous Transfer Mode (ATM), which can provide for the delivery of data over connection-oriented (or fixed) paths that meet diverse quality of service requirements.
An integrated services protocol such as ATM protocol can allocate network resources (e.g., bandwidth) for delivering data according to the guidelines of a number of service categories, such as constant bit rate (CBR) guidelines, available bit rate (ABR) guidelines, non real-time variable bit rate (nrt-VBR) guidelines, real-time variable bit rate (rt-VBR) guidelines, etc. For example, CBR guidelines can provide for allocating resources to satisfy the constant rate, delay-intolerant requirements of services such as live video conferencing, where in contrast, use of nrt-VBR guidelines for such applications may be inadequate.
To transfer data in an ATM network, ATM signaling and/or network management capabilities allocate resources (e.g., bandwidth) to provide what is broadly called a virtual connection, which can generally be understood to be a set of paths established through one or more ATM networks, where a network can include transport (i.e. physical layer) technology such as wireline technology (e.g., copper, coaxial, optical fiber, etc.) and/or wireless technology (e.g., Bluetooth, 802.11B, GSM, etc.). A virtual connection in ATM can be realized as a Virtual Circuit (VC) or a Virtual Path (VP), either of which effectively provides a “connection” for communicating data through an ATM network. An ATM virtual connection enables devices in the network(s) to communicate with each other and is connection-oriented (or fixed) in that communications between devices traverse the same path across the networks, thereby providing a connection that has relatively unvarying transmission conditions compared to a connectionless data path, thereby enabling some degree of quality of service guarantee.
ATM and other existing systems and methods currently are able to provide fixed connections of a single service category for transmitting data suited for the service category, so that data suited for different service categories are generally transmitted over corresponding distinct connections. An example of an ATM-enabled network is illustrated in FIG. 2, wherein fixed connections 208, 210, 212 are provided for communication between a source ATM device 204 and a destination ATM device 206 across a network 202 having a number of nodes 216, 218, 220 (e.g. ATM switches, multiplexers, etc.). The ATM connections 208, 210, 212 are each of a single service category such as, for example, rt-VBR, CBR, and ABR, respectively. In one example, telephone 222, video broadcasting 224, and email 226 services can be in communication with an ATM network access device 204 and can be associated with different service categories. The ATM network access device 204 can allocate distinct connections 208, 210, 212 for carrying data associated with the services 222, 224, 226 and can transmit data associated with each service over the appropriate corresponding connection.
A deficiency of a network exemplified in FIG. 2 is the proliferation of fixed connections and the associated network resources required to provision, maintain and/or manage those connections in network environments having a diversity of services. As shown in the exemplary network of FIG. 2, multiple fixed connections 208, 210, 212 of different service categories may provide for communications between two devices 204, 206. Such systems and methods can quickly diminish network resources in maintaining these connections when the network environment services several different communications devices and data types. Hence, a deficiency of the network illustrated in FIG. 2 relates to the issue of scalability.
The Internet Engineering Task Force (IETF) proposed methods for transmitting data associated with multiple protocols using a single ATM fixed connection, as discussed in IETF proposal RFC1483. However, the proposed methods do not prioritize data associated with different services sharing a single connection and may suffer from a problem known as head of line (HoL) blocking, in which data (of higher priority) that is placed in a queue for transmission after other data (of lower priority) is placed must wait for the earlier-placed data to be completely transmitted before it can be serviced. This problem is of particular concern when, for example, very time-sensitive applications that are distinguished at the IP layer from time-insensitive applications later lose that distinction at the lower-level ATM layer because the applications share a single ATM fixed connection. In this case, the time-sensitive application may experience HoL blocking within the shared ATM connection, particularly when the shared ATM connection is constrained by a low-speed link and the lower priority data packets (associated with the time-insensitive application in this example) are large.